Sharing analysis in the Pawns compiler

نویسنده

  • Lee Naish
چکیده

Pawns is a programming language under development that supports algebraic data types, polymorphism, higher order functions and “pure” declarative programming. It also supports impure imperative features including destructive update of shared data structures via pointers, allowing significantly increased efficiency for some operations. A novelty of Pawns is that all impure “effects” must be made obvious in the source code and they can be safely encapsulated in pure functions in a way that is checked by the compiler. Execution of a pure function can perform destructive updates on data structures that are local to or eventually returned from the function without risking modification of the data structures passed to the function. This paper describes the sharing analysis which allows impurity to be encapsulated. Aspects of the analysis are similar to other published work, but in addition it handles explicit pointers and destructive update, higher order functions including closures and preand post-conditions concerning sharing for functions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An informal introduction to Pawns: a declarative/imperative language

Pawns is yet another programming language under development which attempts to combine the elegance of declarative programming with the algorithmic expressive power of imperative programming. Algebraic data types can be defined and viewed as decriptions of high level values which can be manipulated in declarative ways. The same type definitions can also be viewed at a much lower level, involving...

متن کامل

Precise Set Sharing and Nullity Analysis for Java-style Programs

Finding useful sharing information between instances in object-oriented programs has been recently the focus of much research. The applications of such static analysis are multiple: by knowing which variables share in memory we can apply conventional compiler optimizations, find coarse-grained parallelism opportunities, or, more importantly,erify certain correctness aspects of programs even in ...

متن کامل

Security Analysis of a Hash-Based Secret Sharing Scheme

Secret sharing schemes perform an important role in protecting se-cret by sharing it among multiple participants. In 1979, (t; n) threshold secret sharing schemes were proposed by Shamir and Blakley independently. In a (t; n) threshold secret sharing scheme a secret can be shared among n partic-ipants such that t or more participants can reconstruct the secret, but it can not be reconstructed b...

متن کامل

A Novel Analysis of Risk Sharing Effects on Income Inequality in Informal Insurances

T his study aims to demonstrate that joining in risk sharing network leads to the reduction in incomes volatility. In this respect, income variance for a group of members in an informal insurance is modelled in which income variance prior to joining risk sharing network and after joining is analyzed statistically. A Monte Carlo simulation technique is used to prove the result. To extend an...

متن کامل

A Framework for Evaluating Software and Hardware Mechanisms for Reducing False Sharing

We present a framework for studying the e ectiveness of di erent approaches to reducing false sharing. Our framework includes the implementation of a distributed shared memory multiprocessor simulator that has been designed to work well with several currently existing cache coherency protocols known to reduce false sharing. A suite of seven benchmarks has been ported. These benchmarks exist in ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • PeerJ PrePrints

دوره 3  شماره 

صفحات  -

تاریخ انتشار 2015